using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CollectionPageDisplay")]
	public class CollectionPageDisplay : MonoBehaviour
	{
		public enum HEADER_CLASS
		{
			INVALID,
			SHAMAN,
			PALADIN,
			MAGE,
			DRUID,
			HUNTER,
			ROGUE,
			WARRIOR,
			PRIEST,
			WARLOCK,
			HEROSKINS,
			CARDBACKS
		}

		public GameObject m_cardStartPositionEightCards => method_3<GameObject>("m_cardStartPositionEightCards");

		public UberText m_pageCountText => method_3<UberText>("m_pageCountText");

		public UberText m_classNameText => method_3<UberText>("m_classNameText");

		public GameObject m_classFlavorHeader => method_3<GameObject>("m_classFlavorHeader");

		public GameObject m_heroSkinsDecor => method_3<GameObject>("m_heroSkinsDecor");

		public GameObject m_deckTemplateContainer => method_3<GameObject>("m_deckTemplateContainer");

		public GameObject m_noMatchFoundObject => method_3<GameObject>("m_noMatchFoundObject");

		public UberText m_noMatchExplanationText => method_3<UberText>("m_noMatchExplanationText");

		public GameObject m_noMatchSetHintObject => method_3<GameObject>("m_noMatchSetHintObject");

		public GameObject m_noMatchManaHintObject => method_3<GameObject>("m_noMatchManaHintObject");

		public GameObject m_noMatchCraftingHintObject => method_3<GameObject>("m_noMatchCraftingHintObject");

		public GameObject m_basePage => method_3<GameObject>("m_basePage");

		public Material m_deckTemplatePageMaterial => method_3<Material>("m_deckTemplatePageMaterial");

		public Material m_basePageMaterial => method_3<Material>("m_basePageMaterial");

		public MeshRenderer m_basePageRenderer => method_3<MeshRenderer>("m_basePageRenderer");

		public Material m_wildHeaderMaterial => method_3<Material>("m_wildHeaderMaterial");

		public Material m_standardHeaderMaterial => method_3<Material>("m_standardHeaderMaterial");

		public Material m_wildPageMaterial => method_3<Material>("m_wildPageMaterial");

		public Material m_standardPageMaterial => method_3<Material>("m_standardPageMaterial");

		public Color m_standardTextColor => method_2<Color>("m_standardTextColor");

		public Color m_wildTextColor => method_2<Color>("m_wildTextColor");

		public List<CollectionCardVisual> m_collectionCardVisuals => method_3<Class271<CollectionCardVisual>>("m_collectionCardVisuals")?.method_25();

		public bool m_isWild => method_2<bool>("m_isWild");

		public CollectionPageDisplay(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CollectionPageDisplay(IntPtr address)
			: this(address, "CollectionPageDisplay")
		{
		}

		public static int GetMaxCardsPerPage()
		{
			return MonoClass.smethod_11<int>(TritonHs.MainAssemblyPath, "", "CollectionPageDisplay", "GetMaxCardsPerPage", new Class276.Enum20[0], Array.Empty<object>());
		}

		public static int GetMaxCardsPerPage(CollectionManagerDisplay.ViewMode viewMode)
		{
			return MonoClass.smethod_11<int>(TritonHs.MainAssemblyPath, "", "CollectionPageDisplay", "GetMaxCardsPerPage", new Class276.Enum20[1] { Class276.Enum20.ValueType }, new object[1] { viewMode });
		}

		public static HEADER_CLASS TagClassToHeaderClass(TAG_CLASS classTag)
		{
			return MonoClass.smethod_14<HEADER_CLASS>(TritonHs.MainAssemblyPath, "", "CollectionPageDisplay", "TagClassToHeaderClass", new object[1] { classTag });
		}

		public static void SetClassFlavorTextures(GameObject header, HEADER_CLASS headerClass)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "CollectionPageDisplay", "SetClassFlavorTextures", header, headerClass);
		}

		public CollectionCardVisual GetCardVisual(string cardID, TAG_PREMIUM premium)
		{
			return method_14<CollectionCardVisual>("GetCardVisual", new object[2] { cardID, premium });
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide()
		{
			method_8("Hide");
		}

		public void UpdateFavoriteHeroSkins(CollectionManagerDisplay.ViewMode mode, bool isMassDisenchanting)
		{
			method_8("UpdateFavoriteHeroSkins", mode, isMassDisenchanting);
		}

		public void UpdateHeroSkinNames(CollectionManagerDisplay.ViewMode mode)
		{
			method_8("UpdateHeroSkinNames", mode);
		}

		public void UpdateFavoriteCardBack(CollectionManagerDisplay.ViewMode mode)
		{
			method_8("UpdateFavoriteCardBack", mode);
		}

		public void UpdateBasePage()
		{
			method_8("UpdateBasePage");
		}

		public void UpdateDeckTemplatePage(Component deckTemplatePicker)
		{
			method_8("UpdateDeckTemplatePage", deckTemplatePicker);
		}

		public void ShowNoMatchesFound(bool show, CollectionManager.FindCardsResult findResults, bool showHints)
		{
			method_8("ShowNoMatchesFound", show, findResults, showHints);
		}

		public void HideHeroSkinsDecor()
		{
			method_8("HideHeroSkinsDecor");
		}

		public void UpdateCurrentPageCardLocks(bool playSound)
		{
			method_8("UpdateCurrentPageCardLocks", playSound);
		}

		public void SetIsWild(bool isWild)
		{
			method_8("SetIsWild", isWild);
		}

		public void SetHeroSkins()
		{
			method_8("SetHeroSkins");
		}

		public void SetCardBacks()
		{
			method_8("SetCardBacks");
		}

		public void SetDeckTemplates()
		{
			method_8("SetDeckTemplates");
		}

		public void SetPageCountText(string text)
		{
			method_8("SetPageCountText", text);
		}

		public void ActivatePageCountText(bool active)
		{
			method_8("ActivatePageCountText", active);
		}

		public CollectionCardVisual GetCollectionCardVisual(int index)
		{
			return method_14<CollectionCardVisual>("GetCollectionCardVisual", new object[1] { index });
		}

		public void SetClassNameText(string className)
		{
			method_8("SetClassNameText", className);
		}
	}
}
